Software Pipelining for Nested Loops
نویسنده
چکیده
In this paper, we present a novel framework of software pipelining for nested loops. Under this framework, a periodic scheduling function, called r-periodic schedule, is associated with each operation of the loop body in the entire iteration space. We present a simple problem formulation as well as e cient solutions which gives provable asymptotically time-optimal schedule for nested loops under our program model. It also provides some useful insights on the interplay between unimodular loop transformation and ne-grain scheduling under a uni ed framework. The main results are: We show that, for nested loops under our program model, software pipelining problem can be formulated into a very simple linear programming problem based on r-periodic schedules. We prove that the r-periodic scheduling is asymptotically time-optimal, that is, it is asymptotically as good as the best schedule | the free schedule where statements can be freely scheduled as early as possible subject only to data dependence constraints. When the nesting level n is small, we present an e cient polynomial time solution method. This surprisingly e cient solution is based on a vectorized extension of the solution of the minimum cost-to-time ratio cycle (MCTRC) problem [29]. It is often desirable to use a small xed periodicity r in the schedule. We present an e cient solution to handle this situation. A discussion of related and future work is included.
منابع مشابه
Software pipelining of nested loops for real-time DSP applications
Modem DSP Processors have been integrated with InsrrucrionLevel Purullelism(ILP), which presents a challenge to exploit ILP within DSP applications. Software Pipelining is an efficient tcchnique used to expose ILP for loop programs and has been widely used for current microprocessors. It has been recently used in DSP compilers, but only for the innermost loops. This paper proposes a new approac...
متن کاملOptimal Software Pipelining of Nested Loops
This paper presents an approach to software pipelining of nested loops. While several papers have addressed software pipelining of single (non-nested) loops, little work has been done in the area of applying it to nested loops. This paper solves the problem of nding the minimum iteration initiation interval (in the absence of resource constraints) for each level of a nested loop. The problem is...
متن کاملSoftware pipelining of nested loops
This paper presents an approach to software pipelining of nested loops. While several papers have addressed software pipelining of inner loops, little work has been done in the area of extending it to nested loops. This paper solves the problem of nding the minimum iteration initiation interval (in the absence of resource constraints) for each level of a nested loop. The problem is formulated a...
متن کاملEnhanced Loop Flattening for Software Pipelining of Arbitrary Loop Nests
This paper introduces and evaluates enhanced loop flattening, a compiler framework for transforming an arbitrary set of nested and sequenced loops into a single loop with additional logic to implement the control flow of the original code. Loop flattening allows conventional software pipelining algorithms to effectively pipeline nested loops. Conventional software pipelining approaches are only...
متن کاملSoftware Pipelining of Nested Loops
Software pipelining is a technique to improve the performance of a loop by overlapping the execution of several iterations. The execution of a software-pipelined loop goes through three phases: prolog, kernel, and epilog. Software pipelining works best if most of the time is spent in the kernel phase rather than in the prolog or epilog phases. This can happen only if the trip count of a pipelin...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1993